export default {
  // 这里配置的是使用该指令元素的钩子
  // 使用的元素插入父节点的时候触发
  inserted(el, option) {
    // 钩子默认能够接收到两个参数
    // 1. 当前元素
    console.log(el)
    // 2. 当前指令配置
    console.log(option)

    el.addEventListener('error', () => {
      el.src = option.value
    })

    // 除了图片地址错误, 还有图片地址为空的情况需要处理
    // if (!el.src) {
    //   el.src = option.value
    // }
    el.src = el.src || option.value
  },
  // 上面的钩子只有在元素创建时才生效,
  // 对于事件监听不成问题, 因为监听会一直存在
  // 但是对于短路运算的赋值来说, 只会在第一次触发, 之后更新时
  // 因为没有重新创建, 就无法处理为空的状况
  componentUpdated(el, option) {
    el.src = el.src || option.value
  }
}
